Ep15 建立了 Spark Standalone cluster,也確認 Master、Worker、Driver 與 Executor 的位置。這一集沿用同...
前面幾集我都在筆電的 local mode 跑 Spark。程式能執行、Spark UI 也能看見 Job、Stage 與 Task,但是進入正式工作的叢集環境...
上一集看完 Parquet 的 row group、column chunk 與 footer 後,我想接著深入了解一個更實際的問題:當我只查兩個欄位、只要某一...
Ep12 讓我理解 Iceberg 如何管理一張 table 的 schema、snapshot 與 data files;這次我想再往下一層追問:同一筆 ev...
上一集我追著 Hive Metastore 看 table name、schema 與 location 如何跨 SparkSession 被重新找到,也看見...
上一集,我用一個簡單的 table 走過整個資料存儲的生態系,了解整體架構的全局樣貌。今天我想要深入了解 Metastore 管理資料表的生命週期,當 Spar...
前幾集我一路追 Spark 的 Job、Stage、task、shuffle 和輸出檔案。當資料寫完後,我平常很自然地會在下一個 job 裡寫下 spark.t...
前幾集我一直用 Spark UI 追著 Job、Stage、task 與 shuffle 跑。這讓我開始注意到另一種很常見、卻不一定一眼看得出的浪費:明明是同一...
資料處理完成後,Spark 的工作還沒有結束。下游不會讀取「上一個 stage 有幾個 task」,它讀取的是 Parquet 檔案。檔案太小,會多出開檔、me...
上一集,我從輸入資料看見:來源有幾個 partition,沒有 shuffle 的 stage 通常就有幾個 task。不過日常寫 DataFrame pipe...
上一集,我知道 wide transformation 會透過 shuffle 切出新的 stage。接著我想追一個更具體的問題:同一個 stage 裡,Spa...
前幾集裡,我已經知道 DataFrame 的 transformation 會先累積,等 action 出現才執行;也在 Spark UI 看過 Job、Sta...
前幾集我已經在筆電上跑起 Spark,也在 Spark UI 裡看過 Job、Stage 和 Task。不過我還是常常把幾個名詞混在一起:Driver、JVM、...
上一集,我知道 action 出現後,Spark 才會開始規劃並執行工作。不過「切成 stage」、「分配 task」還是有點抽象;我想親眼看看它們到底長什麼樣...
上一集,我終於在自己的筆電上啟動了 Spark。不過接著又有一個更貼近日常開發的問題:明明我已經連續寫了好幾個 DataFrame 操作,為什麼總是到 show...
前言 大家好,我是 Jeffery,我是一名 Junior MLE!我的日常工作總是離不開應用 PySpark 建立與維運 Data ETL pipeline...
實踐架構 瞭解了資料合約的定義以後,有很多人的反應是“感覺很簡單,為什麼沒有/不直接執行呢?“。在軟體工程領域裡將API資料結構協議化與嚴格執行已經是行之有年的...
定義 資料合約最近幾年才出現在資料領域(儘管與手機流量合約和加密貨幣的智能合約有點混淆),然而,其背後的概念和用法並不新穎。這個概念的開發或多或少是一種對大數據...
"那個Timmy啊,廠商那邊又有多一組類型的資料,你再幫忙收一下""Jerry,資料好像有少喔,幫忙看一下是哪邊的問題,以後看到類...
作為資料工程師,或說是負責處理資料工程的角色,我們需要具備什麼能力呢?其實從過去到現在的資料工程師的角色,隨著應用的不同以及工具的演變,資料工程師的角色默默的在...
團隊的合作方式從古至今總是不斷的演變當中,雖然工程師的歷史並沒有很長,但是變化卻十分快速。就像是網站工程師一般,過去也沒有這麼細分為前端禍後端,常常每個人都是全...
記得在學生時期,我因為對於學校的選課網站操作不太習慣,於是便自己寫了一個簡單的爬蟲程式,用來自動抓取課程資訊和教師評價。經整理後,我和朋友合作設計了一個使用者友...
稻米就算採收,也無法直接食用,需要經過一系列的加工才能送到消費者的手裡。 (圖片來源:富里鄉農會) 這個流程跟加工資料的流程並沒有什麼太大的差異,常見的資料基...
接續 Day 16 Writer's schema and Reader's schema 這裡 Avro 把 encoding 跟 decoding 動作...
接續 Day 15 Avro 最後一個要來談的 binary encoding 方式是 Apache Avro ,閞始於 Hadoop 底下的子專案,它很明...
接續 Day 14 Thrift and Protocol Buffers 再來要講的 binary encoding 工具就是 Apache Thrift...
接續 Day 13 JSON, XML, CSV 和 Binary Variants (二進制變體) JSON, XML, CSV 都是很廣泛為人知、多人使...
Everything changes and nothing stands still.—Heraclitus of Ephesus, as quoted b...
接續 Day 11 Column-Oriented Storage 想像一下如果你的 fact table 有上兆筆資料,資料大小是 PB,dimensio...
Transaction Processing or Analytics? 每一個資料庫都能許多種不同型態的資料,如 blog 貼文、遊戲資料、聯絡人資訊等等,應...